1. Field of the Invention
The present invention relates to an image processing apparatus and an image processing method which are suitable for an information processing system, such as a personal computer.
2. Description of the Related Art
In recent years, opportunities to print thin lines have increased along with a widespread use of computer aided design (CAD) software and the like. Generally, a line is rendered by inputting a starting coordinate point, an ending coordinate point, a line width and a color, and outputting binary image data by performing rendering processing according to a fill-rule. As the fill-rule, a graphics device interface (GDI) system adopted by Windows (Trademark), and a post script (PS) system adopted by Adobe are generally used. Japanese Patent Application Laid-Open No. 2001-203892, for example, discusses how to thicken an image.
A thin line has a very thin line width. The line width of the thin line is often set at a minimum value that a real machine can render. As an effective rendering method for the thin line, a PostScript Edge system exists. The PostScript Edge system renders all dots through which a line passes. FIG. 13 illustrates a rendering method for the thin line by the PostScript Edge system. In the PostScript Edge system, all dots through which a line connecting from a starting point (S) to an ending point (E) passes are rendered. More specifically, dots D101, D102, D103, D104, and the like through which a line segment SE passes are rendered. Positions of the starting point and the ending point are not needed to be integers on grids, and can be specified by decimal values.
However, the PostScript Edge system, that is the effective rendering method for the thin line, has a problem as follows.
In the PostScript Edge system, a line width of a thin line with an angle of inclination from a horizontal axis of 45 degrees or 135 degrees is different depending on whether or not the line passes through X-coordinates and Y-coordinates (i.e., grid points) of integer numbers. For example, in a thin 45-degree line illustrated in FIG. 14 that does not pass through grid points, since there are two dots through which a line passes for each Y-coordinate, the thickness of the thin line has two dots in an X-direction. In contrast, in the thin 45-degree line illustrated in FIG. 15 that passes through the grid points, since a number of dots through which the line passes for each Y-coordinate is only one, the thickness of the thin line becomes one dot in the X-direction. Accordingly, when comparing these two lines, their thickness is different. In particular, as illustrated in FIG. 16, when a plurality of thin 45-degree lines are rendered, differences of thickness are remarkable and it seems as if a kind of a pattern would have been drawn.
The difference of thickness between thin lines may appear in not only rendering of a line segment but also in rendering of a curve such as a circle, as illustrated in FIG. 17. In other words, a width of the thin line may become thinner at a portion where an angle of inclination thereof is close to 45 degrees or 135 degrees from the horizontal axis, than other portions.
There is a method in which, when a thin line is rendered by the PostScript Edge system, it is determined whether the thin line to be rendered is a thin 45-degree (135-degree) line and passes through grid points, and then the thin line is rendered based on a determined result. In this method, if the above-described two conditions are satisfied, as illustrated in FIG. 18, one dot is added to each Y-coordinate. According to this method, even with respect to the thin line that has an angle of inclination of 45 degrees (135 degrees) and passes through grid points, thickness of the line becomes equivalent to the thin 45-degree (135-degree) line that does not pass through grid points by additional rendering of one dot.
However, since two determination processes are necessary for the conventional method as described above, its operation becomes troublesome. Also, executing these processes put a burden on an information processing device or the like.